﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bdcs.Core.Entity
{
    /// <summary>
    /// Base_MacInfo数据模型对象
    /// </summary>
    [Serializable]
    public partial class Base_MacInfoMod
    {
        /// <summary>
        /// 初始化Base_MacInfo数据模型对象
        /// </summary>
        public Base_MacInfoMod()
        {
            
        }
        /// <summary>
        /// 初始化Base_MacInfo数据模型对象并给所有字段赋值
        /// </summary>
        /// <param name="macID">macID</param>
        /// <param name="longi">longi</param>
        /// <param name="lati">lati</param>
        /// <param name="radius">radius</param>
        /// <param name="remark">remark</param>
        /// <param name="vState">vState</param>
        /// <param name="changeTime">ChangeTime</param>
        /// <param name="vMode">vMode</param>
        public Base_MacInfoMod(string macID,decimal longi,decimal lati,int radius,string remark,int vState,DateTime changeTime,int vMode)
        {
            //给macID字段赋值
            this.MacID = macID;
            //给longi字段赋值
            this.Longi = longi;
            //给lati字段赋值
            this.Lati = lati;
            //给radius字段赋值
            this.Radius = radius;
            //给remark字段赋值
            this.Remark = remark;
            //给vState字段赋值
            this.VState = vState;
            //给ChangeTime字段赋值
            this.ChangeTime = changeTime;
            //给vMode字段赋值
            this.VMode = vMode;
        }
        
		//属性存储数据的变量
        private string _macID;
        private decimal _longi;
        private decimal _lati;
        private int _radius;
        private string _remark;
        private int _vState;
        private DateTime _changeTime;
        private int _vMode;
        
        /// <summary>
        /// macID
        /// </summary>
        public string MacID
        {
            get { return this._macID; }
            set { this._macID = value; }
        }
        /// <summary>
        /// longi
        /// </summary>
        public decimal Longi
        {
            get { return this._longi; }
            set { this._longi = value; }
        }
        /// <summary>
        /// lati
        /// </summary>
        public decimal Lati
        {
            get { return this._lati; }
            set { this._lati = value; }
        }
        /// <summary>
        /// radius
        /// </summary>
        public int Radius
        {
            get { return this._radius; }
            set { this._radius = value; }
        }
        /// <summary>
        /// remark
        /// </summary>
        public string Remark
        {
            get { return this._remark; }
            set { this._remark = value; }
        }
        /// <summary>
        /// vState
        /// </summary>
        public int VState
        {
            get { return this._vState; }
            set { this._vState = value; }
        }
        /// <summary>
        /// ChangeTime
        /// </summary>
        public DateTime ChangeTime
        {
            get { return this._changeTime; }
            set { this._changeTime = value; }
        }
        /// <summary>
        /// vMode
        /// </summary>
        public int VMode
        {
            get { return this._vMode; }
            set { this._vMode = value; }
        }
        
        /// <summary>
        /// 对比两个Base_MacInfo数据模型对象是否一致
        /// </summary>
        /// <param name="obj">要进行比对的Base_MacInfo数据模型对象</param>
        /// <returns>返回是否一致，为true一致，为false不一致</returns>
        public override bool Equals(object obj)
        {
            //判断传入对象是否为null
            if (obj == null) return false;
            //将传入对象转换成Base_MacInfo数据模型对象
            Base_MacInfoMod base_MacInfoMod = obj as Base_MacInfoMod;
            //判断是否转换成功
            if (base_MacInfoMod == null) return false;
            //进行匹配属性的值
            return
                //判断macID是否一致
                this.MacID == base_MacInfoMod.MacID &&
                //判断longi是否一致
                this.Longi == base_MacInfoMod.Longi &&
                //判断lati是否一致
                this.Lati == base_MacInfoMod.Lati &&
                //判断radius是否一致
                this.Radius == base_MacInfoMod.Radius &&
                //判断remark是否一致
                this.Remark == base_MacInfoMod.Remark &&
                //判断vState是否一致
                this.VState == base_MacInfoMod.VState &&
                //判断ChangeTime是否一致
                this.ChangeTime == base_MacInfoMod.ChangeTime &&
                //判断vMode是否一致
                this.VMode == base_MacInfoMod.VMode;
        }
        /// <summary>
        /// 将当前Base_MacInfo数据模型对象转换成哈希码
        /// </summary>
        /// <returns>哈希值</returns>
        public override int GetHashCode()
        {
            //将Base_MacInfo数据模型对象的属性进行按位异或运算处理得到哈希码并返回
            return
                //将macID进行按位异或运算处理
                (this.MacID == null ? 2147483647 : this.MacID.GetHashCode()) ^
                //将longi进行按位异或运算处理
                this.Longi.GetHashCode() ^
                //将lati进行按位异或运算处理
                this.Lati.GetHashCode() ^
                //将radius进行按位异或运算处理
                this.Radius.GetHashCode() ^
                //将remark进行按位异或运算处理
                (this.Remark == null ? 2147483647 : this.Remark.GetHashCode()) ^
                //将vState进行按位异或运算处理
                this.VState.GetHashCode() ^
                //将ChangeTime进行按位异或运算处理
                this.ChangeTime.GetHashCode() ^
                //将vMode进行按位异或运算处理
                this.VMode.GetHashCode();
        }
        /// <summary>
        /// 将当前Base_MacInfo数据模型对象转换成字符串副本【仅显示在SQL中不能为空的列】
        /// </summary>
        /// <returns>字符串形式副本</returns>
        public override string ToString()
        {
            //将当前Base_MacInfo数据模型对象转换成字符串副本
            return
                "[" +
                //将macID转换成字符串
                this.MacID + "," +
                //将longi转换成字符串
                this.Longi + "," +
                //将lati转换成字符串
                this.Lati + "," +
                //将radius转换成字符串
                this.Radius + "," +
                //将remark转换成字符串
                this.Remark + "," +
                //将vState转换成字符串
                this.VState + "," +
                //将ChangeTime转换成字符串
                this.ChangeTime + "," +
                //将vMode转换成字符串
                this.VMode +
                "]";
        }
    }
}
